home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / mail / smail-3.2.tar.gz / smail-3.2.tar / smail-3.2 / NOTES / ESMTP next >
Text File  |  1996-03-05  |  9KB  |  229 lines

  1. #ident    "@(#)smail/NOTES:RELEASE-3_2:ESMTP,v 1.1 1996/03/05 19:32:41 woods Exp"
  2.  
  3. ------------------------------------------------------------
  4. ESMTP and Smail-3
  5. ------------------------------------------------------------
  6.  
  7. What is ESMTP?
  8. --------------
  9.  
  10. ESMTP (Extended SMTP) is a framework for extending the SMTP service by
  11. defining a means whereby a server SMTP can inform a client SMTP as to
  12. the service extensions it supports. Standard extensions to the SMTP
  13. service are registered with the IANA (Internet Assigned Number
  14. Authority).  This framework does not require modification of existing
  15. SMTP clients or servers unless the features of the service extensions
  16. are to be requested or provided.
  17.  
  18. Ref: Paraphased from RFC-1651.1 (Abstract)
  19.  
  20.  
  21. Reason for ESTMP?
  22. -----------------
  23.  
  24. Ref: Paraphased from RFC-1651.2 (Introduction)
  25.  
  26. The Simple Mail Transfer Protocol (SMTP) has provided a stable,
  27. effective basis for the relay function of message transfer agents.
  28. Although a decade old, SMTP has proven remarkably resilient.
  29. Nevertheless, the need for a number of protocol extensions has become
  30. evident. The ESMTP framework enhances SMTP in a straightforward
  31. fashion that provides a framework in which all future extensions can
  32. be built in a single consistent way.
  33.  
  34. Ref: Paraphased from RFC-1651.2 (Introduction)
  35.  
  36.  
  37. What are the ESMTP extensions?
  38. ------------------------------
  39.  
  40. ESMTP MAIL KEYWORDS
  41.  
  42. [RFC1651] specifies that extension to SMTP can be identified with
  43. keywords.
  44.  
  45. Keywords    Description                 Reference
  46. ------------    --------------------------------         ---------
  47. SEND        Send as mail                  [RFC821]
  48. SOML        Send as mail or terminal          [RFC821]
  49. SAML        Send as mail and terminal          [RFC821]
  50. EXPN        Expand the mailing list              [RFC821]
  51. HELP        Supply helpful information          [RFC821]
  52. TURN        Turn the operation around          [RFC821]
  53. 8BITMIME    Use 8-bit data                 [RFC1652]
  54. SIZE        Message size declaration         [RFC1653]
  55. VERB        Verbose                             [Eric Allman]
  56. ONEX        One message transaction only         [Eric Allman]
  57.  
  58.  
  59. MAIL EXTENSION TYPES
  60.  
  61. The Simple Mail Transfer Protocol [RFC821] specifies a set of
  62. commands or services for mail transfer.  A general procedure for
  63. extending the set of services is defined in [RFC1651].  The set of
  64. service extensions is listed here.
  65.  
  66. Service Ext   EHLO Keyword Parameters Verb       Reference
  67. -----------   ------------ ---------- ---------- ---------
  68. Send             SEND         none       SEND     [RFC821]
  69. Send or Mail     SOML         none       SOML     [RFC821]
  70. Send and Mail    SAML         none       SAML     [RFC821]
  71. Expand           EXPN         none       EXPN     [RFC821]
  72. Help             HELP         none       HELP     [RFC821]
  73. Turn             TURN         none       TURN     [RFC821]
  74. 8 Bit MIME     8BITMIME     none       none    [RFC1652]
  75. Size         SIZE         number     none    [RFC1653]
  76.  
  77. Ref: ftp://ftp.isi.edu/in-notes/iana/assignments/mail-parameters
  78.  
  79.  
  80. Where can I look for more detailed information?
  81. -----------------------------------------------
  82.  
  83. [RFC821] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821,
  84.          USC/Information Sciences Institute, August 1982.
  85.  
  86. [RFC822] Crocker, D., "Standard for the Format of ARPA-Internet Text
  87.          Messages", STD 11, RFC 822, UDEL, August 1982.
  88.  
  89. [RFC1651] Klensin, J., Freed, N., Rose, M., Stefferud, E., and D.
  90.           Crocker, "SMTP Service Extensions", RFC 1651, MCI, Innosoft,
  91.           Dover Beach Consulting, Inc., Network Management Associates,
  92.           Inc., Silicon Graphics, Inc., July 1994.
  93.  
  94. [RFC1652] Klensin, J., Freed, N., Rose, M., Stefferud, E., and D.
  95.           Crocker, "SMTP Service Extension for 8bit-MIMEtransport", 
  96.           RFC 1652, MCI, Innosoft, Dover Beach Consulting, Inc.,
  97.           Network Management Associates, Inc., Silicon Graphics, Inc.,
  98.           July 1994.
  99.  
  100. [RFC1653] Klensin, J., Freed, N., and K. Moore, "SMTP Service
  101.           Extension for Message Size Declaration", RFC 1653,
  102.           MCI, Innosoft, University of Tennessee, July 1994.
  103.  
  104. [RFC1700] J. Reynolds, J. Postel, "ASSIGNED NUMBERS", 10/20/1994. 
  105.           (Pages=230) (Format=.txt) (Obsoletes RFC1340) (STD 2) 
  106.  
  107. Ref: ftp://ftp.internic.net/rfc/
  108.  
  109.  
  110. Who authored the ESMTP support for smail?
  111. -----------------------------------------
  112.  
  113. Simon Leinen <simon@lia.di.epfl.ch>
  114.  
  115.  
  116. What smail releases have ESMTP support?
  117. ---------------------------------------
  118.  
  119. Any smail version greater than or equal to 3.2 can support ESMTP provided
  120. the conf/EDITME file has the EHLO option enabled.
  121.  
  122. #HAVE=EHLO                # have ESMTP sending support
  123.  
  124.  
  125. What ESMTP extensions does SMAIL support?
  126. -----------------------------------------
  127.  
  128. Date: Wed, 14 Jun 95 17:01 MDT
  129. From: Simon Leinen <simon@lia.di.epfl.ch>
  130. Subject: Finding the list of registered ESMTP services
  131.  
  132. Smail doesn't support SEND, SOML or SAML (writing directly to a user's
  133. terminal).  EXPN and HELP are supported without further work;  the
  134. ESMTP patches simply announce their presence.  SIZE and (partially)
  135. 8BITMIME are supported by my patches, as is the non-yet-registered
  136. PIPELINING extension.  I don't know what would need to be done to
  137. support TURN, or whether that would be worthwhile.
  138.  
  139. The PIPELINING extension is described in an Internet Draft,
  140. draft-ietf-mailext-pipeline-02.txt.  A couple of other proposed
  141. extensions which I haven't implemented can be found under
  142. <URL:http://www.ietf.cnri.reston.va.us/ids.by.wg/mailext.html>.
  143.  
  144. Of all the mail servers I know, PMDF implements the largest number of
  145. SMTP extensions.  Try and say "EHLO" to THOR.INNOSOFT.COM!
  146.  
  147. Other extensions can be defined locally - their names must start with
  148. an "X".  Some Sendmail 8 versions support an extension called "XVRB"
  149. to announce that they understand "VERB" (...ose) which is useful for
  150. debugging.  Smail with V2 of my ESMTP patches recognizes this and
  151. turns verbose mode on when debugging SMTP transactions.  However, the
  152. XVRB extension is *not* implemented in Smail's SMTP server.
  153.  
  154. Eric Allman seems to have registered VERB and ONEX, so I should change
  155. the code to recognize VERB instead of (or in addition to) XVRB.
  156.  
  157.  
  158. Does smail support the 8BITMIME ESTMP extension?
  159. ------------------------------------------------
  160.  
  161. Date: Wed, 14 Jun 95 07:45 MDT
  162. From: Simon Leinen <simon@lia.di.epfl.ch>
  163. Subject: Tweaks to src/geniobpeek.sh to support BSDI-1.1
  164.  
  165. >>>>> "Jon" == Jon Diekema <diekema@cideas.com> writes:
  166.  
  167. Jon> I noticed that an ELHO to onramp.i2k.com doesn't return the
  168. Jon> 250-8BITMIME message.
  169.  
  170. In general, 8BITMIME is useful only for people who communicate in
  171. languages like french, swedish or german, which use 8-bit (ISO-8859-x)
  172. characters to represent accents etc., and which don't have transparent
  173. MIME encoding/decoding in their mailers.  8BITMIME allows them to send
  174. out and receive these characters transparently.  This has never really
  175. worked in the presence of mailers that clean the 8th bit, but there
  176. are large "islands" where users rely on the fact that this works.
  177. 8BITMIME is a standard way to announce 8-bit-transparency.
  178.  
  179. The support for 8BITMIME isn't enabled in the default configuration of
  180. my ESMTP patch.  I decided to do this because it is not implemented
  181. completely - the difficult part is missing.
  182.  
  183. If you never expect to forward mail to non-8BITMIME mailers (you can
  184. narrow this to "non-8-bit-transparent mailers"), then you could enable
  185. my 8BITMIME support so that a remote 8BITMIME-capable mailer can detect
  186. that it can send you 8-bit text without having to encode it using
  187. QUOTED-PRINTABLE or BASE64.
  188.  
  189. But if you claim 8BITMIME support and you do transmit messages to
  190. non-8-bit mailers, then the RFC obliges you to encode these messages
  191. so that they are 7-bit clean.  Smail cannot do this - it would be nice
  192. if it could! Unfortunately it is a bit tricky - you have to parse
  193. multipart MIME messages and encode per subpart.
  194.  
  195. The necessity of parsing multipart messages should probably be
  196. explained: The MIME standard forbids to encode the top level of
  197. multipart/... and similar (message/...) contents using BASE64 or
  198. QUOTED-PRINTABLE.  You have to (recursively) descend to the subparts
  199. and encode them individually instead.  It's a reasonable requirement
  200. because otherwise it would be more difficult to parse multipart
  201. documents.
  202.  
  203. I think that there are now Sendmail configurations with the same
  204. incomplete level of 8BITMIME support provided by my patch, but this is
  205. not really an argument that you should use it too :-)
  206.  
  207. Jon> What is needed to active the 8BITMIME support?  It doesn't appear
  208. Jon> that this is turn on by default.  What did Simon do to enable it?
  209. Jon> Is it as simple as defining HAVE_ESMTP_8BITMIME, and recompiling?
  210. Jon> Are there any ill side-effects from doing this?
  211.  
  212. Yes, I think all you have to do is define HAVE_ESMTP_8BITMIME.
  213. The ill side-effects are that you aren't RFC-compliant anymore...
  214.  
  215. Actually it can be worse: in a scenario where you get mail from a
  216. mailer that supports 8BITMIME correctly (such as Sendmail 8.7), and
  217. have to relay it to a non-8-bit-transparent mailer, enabling Smail's
  218. pseudo-8BITMIME support actually causes the eighth bit to be lost.
  219.  
  220.  
  221. What is the PIPELINE ESTMP extension?
  222. -------------------------------------
  223.  
  224. This is an extension to the SMTP service whereby a server can indicate
  225. the extent of its ability to accept multiple commands in a single TCP
  226. send operation. Using a single TCP send operation for multiple
  227. commands can improve SMTP performance significantly over high-latency
  228. connections.
  229.